#ifndef _UNDO_STACK_H_
#define _UNDO_STACK_H_

#include <deque>
#include <boost/function.hpp>

class UndoStack
{
public:
	UndoStack(size_t size=20);
	void addAction(boost::function<void()>& action);
	void undo();
	void clear();
private:
	size_t size;
	std::deque<boost::function<void()>> actions;
};

#endif